﻿using System;
using System.Collections.Generic;
using Autodesk.Revit.DB;
using HYRevitCode.ElementFilterUtility;

namespace Assist
{
	public class ElementFiltering
	{
		public static IList<Element> FindSpecialElements(Autodesk.Revit.DB.Document doc, Type targetType, BuiltInCategory catagory)
		{
            return HYRevitCode.ElementFilterUtility.ElementFilter.FindSpecialElements(doc, targetType, catagory);
		}

		public static IList<Element> FindSpecialInstance(Autodesk.Revit.DB.Document doc, ICollection<ElementId> idCol, BuiltInCategory catagory, string symbolName)
		{
            return HYRevitCode.ElementFilterUtility.ElementFilter.FindSpecialInstance(doc, idCol, catagory, symbolName);
		}

		public static IList<Element> FindTypesInFamily(Autodesk.Revit.DB.Document doc, Type targetType, string familyName, BuiltInCategory catagory)
		{
            return HYRevitCode.ElementFilterUtility.ElementFilter.FindTypesInFamily(doc, targetType, familyName, catagory);
		}

		public static Element FindElementType(Autodesk.Revit.DB.Document doc, Type targetType, string familyName, string typeName, BuiltInCategory catagory)
		{
            return HYRevitCode.ElementFilterUtility.ElementFilter.FindElementType(doc, targetType, familyName, typeName, catagory);
		}

		public static Family FindFamily(Autodesk.Revit.DB.Document doc, string familyName)
		{
            return HYRevitCode.ElementFilterUtility.ElementFilter.FindFamily(doc, familyName);
		}
	}
}
